#ifndef OBJECT_OSG
#define OBJECT_OSG

#include <DefinePluginOsg.h>
#include <EObject.h>
#include <osg/Node>

class DLL_EXPORT_PLUGIN_OSG ObjectOsg : public EObject
{
	Q_OBJECT
        Q_PROPERTY(QString name READ getName WRITE setName)
public:
    ObjectOsg(QObject *parent = 0);
    virtual ~ObjectOsg();

	void setName(const QString& node_name);
	QString getName();

    osg::ref_ptr<osg::Object> getObject();
    virtual void replaceOsgObject(osg::ref_ptr<osg::Object> object);

    virtual void refreshItemTest();

    virtual void copyFrom(EObject* objPtr);
    virtual EObject* clone();
    virtual void refreshInfoContainer();

    virtual void* getRelevantPtr();
protected:

    osg::ref_ptr<osg::Object> m_object;
	
};
#endif // OBJECT_OSG
